home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-29 | 4.9 KB | 161 lines | [TEXT/R*ch] |
-
- General Info.
- ------------
-
- 1.
-
- There appears to be a bug in Build. Occasionally Build will not recognise
- global include files defined with the /G switch.
- /G my_file_1
- /G my_file_2
- /G my_file_3
-
- Sometimes build will miss one of these lines, in this case it could globally include
- my_file_1 and my_file_3, but skip my_file_2! We appologise for this.
-
- The work around is to include a blank line between each global include
- definition line:
-
- /G my_file_1
-
- /G my_file_2
-
- /G my_file_3
-
- etc
-
- -x-
-
- 2.
- Never start a label name with a valid register name - eg:
-
- d3_lab or a7_fred.
-
- Fantasm tries to be clever when assembling - when it thinks it has enough information
- it will assemble the line, so the line
- BSR d3_lab
- Would erroneously be assembled as
- BSR d3
-
- Be careful of this, although if you do make this mistake it will be fairly
- obvious what the problem is!
-
-
- -x-
- Revisions of V3.xx
-
- 240595 - V3.10.
-
- 1. A new switch has been added that allows you to set the creator type from
- the Build control file. /C "xxxx" will set the creator to the four character
- string in the quotes - for example /c "cath" will set the creator type to cath.
- The string is case sensitive so CATH is different to cath. This is extremely
- handy as it allows you to define your own icons for your apps without having to
- change the creator with resedit to match the bundle.
-
- 2. The famous cursor "bug" has been fixed. Fantasm now has a nice rainbow arrow
- that should cure the "Why is the cursor a watch when I switch back into Fantasm?"
- syndrome. If you do not like the rainbow arrow use resedit to change it. You should not
- change any of the other cursors.
-
- 3. Fantasm now sets the the "accept suspend" bit in the size resource, so
- your app can tell if it is going into the background, or coming into the
- forground. Here is sample "events" code that will set a bit in a global variable
- depending on whether the program is in the foreground or background:
- ***EVENTS IS CALLED FROM THE MAIN LOOP
- EVENTS: DC.W _SYSTEMTASK LET THE MAC GET AN EYE IN
- NO_EDITOR: CLR.B -(SP) EVENTS RETURNS A BYTE
- MOVE.W #$FFFF,-(SP) LOOK FOR ANY EVENT
- PEA SEVENTREC(PC),-(SP) EVENT BUFFER
- DC.W _GETNEXTEVENT GET EVENT, AND ALLOW SWITCHING ETC
- MOVE.B (SP)+,D0 THE RESULT
- TST.B D0
- BEQ.S mouse_moved NOTHING HAPPENED
- **1ST WORD OF SEVENTREC=EVENT
- LEA SEVENTREC(PC),A0
- MOVE.W (A0),D0
-
- CMPI.W #1,D0
- BNE.S NOT_MOUSE *EVENT=1=MOUSE
- BSR DO_MOUSE your mouse routine
- RTS
- NOT_MOUSE: CMPI.W #3,D0
- BNE.S NOT_KEY *EVENT=3=KEY DOWN
- BSR.S KEYDOWN your key routine
- RTS
- NOT_KEY: CMPI.W #5,D0
- BNE.S NOT_KEY_OTHER
- BSR.S KEYDOWN *EVENT=5=AUTOKEY - your key routine
- RTS
- NOT_KEY_OTHER: CMPI.W #6,D0
- BNE.S NOT_UPDATE
- BSR UPDATE *EVENT=6=your update routine
- MOVEQ #0,D0 *RETURN A 0 IN D0
- RTS
- NOT_UPDATE: CMPI.W #8,D0
- BNE.S not_activate
- BSR ACTIVATE *your ACTIVATE routine
- moveq #0,d0
- rts
- not_activate: cmpi.w #15,d0 osevent (Need accept/ suspend event bit in memory rsrc
- bne.s not_OS not an os message
- move.l 2(a0),d0 message in upper byte
- swap d0
- lsr.w #8,d0
- andi.w #$ff,d0 now masked off in lower byte
- cmpi.b #1,d0 suspendresume event?
- bne.s not_OS no
- swap d0 get low byte back
- andi.w #1,d0 **Not strictly necessary
- move.w d0,in_foreground(a5) 1 if in foreground
- not_OS:
- END_EVENTS: MOVEQ #0,D0 return zero in d0 to indicate no worries
- RTS
-
- **This routine is called everytime you move the mouse. Can be used to set
- **the cursor to a beam or anything else by checking the mouse coords
- mouse_moved: tst.w in_foreground(a5)
- bne.s in_front in_foreground is true
- clr.l d0 we are in the background so don't change cursor
- rts
- in_front: MOVE.L ARROW_CURS_H(A5),-(SP) get handle to cursor (from a5 global)
- DC.W _SETCCURSOR change the cursor to an arrow if we are foreground
- rts
- dc.b "Events " Macsbug label
- even
- seventrec: ds.b 20 buffer for events record
-
- Latest info 010795
- -------------------
-
- V3.13 - changes made as defined in the front of the user manual.
-
- It has been reported that on some machines (where the disk is "stacked" possibly),
- Build does not initially spot changes made to source files until a change is made
- to one of the global include files. The give away is when you build a project, and
- Fantasm does not assemble any of the source files, when you know that either the source
- file has been edited, or the object file does not exist - the result is you get
- "Can't find xxx.o".
-
- If this is the case on your machine we suggest you simply add your name and date to
- one of the global include files and the Build Control File, then rebuild and
- all should work fine. This problem has only been reported by one user.
-
- V3.14 - internal release only.
-
- 150795.
- -------
-
- V3.15
- A new video library is supplied as the old one did not work on LCIII's - this one
- has been tested on LCII, LCIII, LC475 and PPC 7100.
-
- 170795
- ------
-
- V3.16 - Removed some old 68000 code and replaced with 020 code, increasing speed.
- DCOFF directive introduced.
-
-
-
-